.TH "PAPI_read" 3 "Tue Jan 15 2013" "Version 5.1.0.2" "PAPI" \" -*- nroff -*-
.ad l
.nh
.SH NAME
PAPI_read \- 
.PP
Read hardware counters from an event set.  

.SH SYNOPSIS
.br
.PP
.SH "Detailed Description"
.PP 
\fBC Interface:\fP
.RS 4
#include <\fBpapi.h\fP> 
.br
 int PAPI_read(int  EventSet, long_long * values );
.RE
.PP
PAPI_read() copies the counters of the indicated event set into the provided array.
.PP
The counters continue counting after the read.
.PP
Note the differences between PAPI_read() and PAPI_accum(), specifically that PAPI_accum() resets the values array to zero.
.PP
PAPI_read() assumes an initialized PAPI library and a properly added event set.
.PP
\fBParameters:\fP
.RS 4
\fIEventSet\fP -- an integer handle for a PAPI Event Set as created by PAPI_create_eventset() 
.br
\fI*values\fP -- an array to hold the counter values of the counting events
.RE
.PP
\fBReturn values:\fP
.RS 4
\fIPAPI_EINVAL\fP One or more of the arguments is invalid. 
.br
\fIPAPI_ESYS\fP A system or C library call failed inside PAPI, see the errno variable. 
.br
\fIPAPI_ENOEVST\fP The event set specified does not exist.
.RE
.PP
\fBExamples\fP
.RS 4

.PP
.nf
 do_100events();
 if (PAPI_read(EventSet, values) != PAPI_OK)
    handle_error(1);
 // values[0] now equals 100
 do_100events();
 if (PAPI_accum(EventSet, values) != PAPI_OK)
    handle_error(1);
 // values[0] now equals 200
 values[0] = -100;
 do_100events();
 if (PAPI_accum(EventSet, values) != PAPI_OK)
     handle_error(1);
 // values[0] now equals 0 

.fi
.PP
.RE
.PP
.PP
\fBSee also:\fP
.RS 4
\fBPAPI_accum\fP 
.PP
\fBPAPI_start\fP 
.PP
\fBPAPI_stop\fP 
.PP
\fBPAPI_reset\fP 
.RE
.PP


.SH "Author"
.PP 
Generated automatically by Doxygen for PAPI from the source code.
